package com.hpli.infrastructure.persistent.po;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * Table: raffle_activity_account
 */
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RaffleActivityAccount {
    /**
     * Column: id
     * Type: BIGINT UNSIGNED
     * Remark: 自增ID
     */
    private Long id;

    /**
     * Column: user_id
     * Type: VARCHAR(32)
     * Remark: 用户ID
     */
    private String userId;

    /**
     * Column: activity_id
     * Type: BIGINT
     * Remark: 活动ID
     */
    private Long activityId;

    /**
     * Column: total_count
     * Type: INT
     * Remark: 总次数
     */
    private Integer totalCount;

    /**
     * Column: total_count_surplus
     * Type: INT
     * Remark: 总次数-剩余
     */
    private Integer totalCountSurplus;

    /**
     * Column: day_count
     * Type: INT
     * Remark: 日次数
     */
    private Integer dayCount;

    /**
     * Column: day_count_surplus
     * Type: INT
     * Remark: 日次数-剩余
     */
    private Integer dayCountSurplus;

    /**
     * Column: month_count
     * Type: INT
     * Remark: 月次数
     */
    private Integer monthCount;

    /**
     * Column: month_count_surplus
     * Type: INT
     * Remark: 月次数-剩余
     */
    private Integer monthCountSurplus;

    /**
     * Column: create_time
     * Type: DATETIME
     * Default value: CURRENT_TIMESTAMP
     * Remark: 创建时间
     */
    private Date createTime;

    /**
     * Column: update_time
     * Type: DATETIME
     * Default value: CURRENT_TIMESTAMP
     * Remark: 更新时间
     */
    private Date updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId == null ? null : userId.trim();
    }

    public Long getActivityId() {
        return activityId;
    }

    public void setActivityId(Long activityId) {
        this.activityId = activityId;
    }

    public Integer getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Integer totalCount) {
        this.totalCount = totalCount;
    }

    public Integer getTotalCountSurplus() {
        return totalCountSurplus;
    }

    public void setTotalCountSurplus(Integer totalCountSurplus) {
        this.totalCountSurplus = totalCountSurplus;
    }

    public Integer getDayCount() {
        return dayCount;
    }

    public void setDayCount(Integer dayCount) {
        this.dayCount = dayCount;
    }

    public Integer getDayCountSurplus() {
        return dayCountSurplus;
    }

    public void setDayCountSurplus(Integer dayCountSurplus) {
        this.dayCountSurplus = dayCountSurplus;
    }

    public Integer getMonthCount() {
        return monthCount;
    }

    public void setMonthCount(Integer monthCount) {
        this.monthCount = monthCount;
    }

    public Integer getMonthCountSurplus() {
        return monthCountSurplus;
    }

    public void setMonthCountSurplus(Integer monthCountSurplus) {
        this.monthCountSurplus = monthCountSurplus;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}